Physical input devices (e.g., keyboard, mouse, stylus) are commonly used by users to perform actions (e.g., keystrokes, mouse movements). These actions may then be translated into data that can be provided to a computing device to represent human interactions with the computing device. Today, it is common for a user to have a multitude of computing devices that they use on a regular basis, and even simultaneously. A single user may have a desktop computer, a laptop computer, a mobile device (e.g., mobile phone, smart phone, smartwatch), and a tablet computer. For example, a user may be using a laptop computer for business purposes and a tablet computer for entertainment purposes.
It would be cumbersome and provide a negative user experience for a user to have to carry separate input devices for each computing device and physically move from a first input device connected to a first computing device to a second input device connected to a second computing device in order to operate both computing devices. Some alternatives allow reusing a single input device for data entry to multiple computing devices. However, these solutions are not without their drawbacks.
One significant problem is that some operating systems may not allow an input device to interface and provide human interface device (HID) data reports to the computing device. For example, each computing device may also be running a different operating system (OS) (e.g., Microsoft Windows®, Apple iOS™, Apple Mac OS X®, Android™, Linux®, Chrome OS™). As a result, users with a variety of computing devices may often regularly interface with different operating systems. While a standard input device (e.g., a mouse) using standard HID data reports may work with a computing device running Microsoft Windows® or Apple Mac OS X®, the same input device may not work with Apple iOS™ because standard HID data reports cannot be inputted into an iPhone or iPad device, as devices running Apple iOS™ will only accept non-standard proprietary HID data reports.
Based on the foregoing, there is a need in the art for improved methods and systems to be able to use a single data input device with multiple computing devices running different operating systems.